package com.example.ai.inventory.service;

import com.example.ai.inventory.entity.PurchaseOrder;
import com.example.ai.inventory.entity.PurchaseItem;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 采购服务接口
 */
public interface PurchaseService {
    
    /**
     * 创建采购单
     */
    PurchaseOrder createPurchaseOrder(PurchaseOrder order);
    
    /**
     * 获取采购单详情
     */
    PurchaseOrder getPurchaseOrderById(Long id);
    
    /**
     * 根据采购单号获取采购单
     */
    PurchaseOrder getPurchaseOrderByOrderNo(String orderNo);
    
    /**
     * 获取采购单列表
     */
    List<PurchaseOrder> getPurchaseOrders(LocalDateTime startTime, LocalDateTime endTime);
    
    /**
     * 获取采购明细
     */
    List<PurchaseItem> getPurchaseItemsByOrderId(Long orderId);
    
    /**
     * 获取商品的采购历史
     */
    List<PurchaseItem> getPurchaseHistoryByProductId(Long productId);
}